Modular Flow Analysis for Concurrent Software

نویسنده

  • Matthew B. Dwyer
چکیده

Modern software systems are designed and implemented in a modular fashion by composing individual components. Early validation of individual module designs and implementations offers the potential to detect and correct defects that might otherwise go undetected until system-level validation. This is particularly true for errors related to interactions between system components. In this paper, we describe a static analysis approach that allows validation of components, or groups of components, of sequential or concurrent software systems. This work builds off of an existing approach, FLAVERS, that uses program flow analysis to verify explicitly stated correctness properties of software systems. We illustrate our modular analysis approach and some of its benefits by describing part of a case-study with a realistic concurrent multi-component system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Toward Optimization of Concurrent Ml

Concurrent ML (CML) is a statically-typed higher-order concurrent language that is embedded in Standard ML. Its most notable feature are first-class synchronous operations, which allow programmers to encapsulate complicated communication and synchronization protocols as first-class abstractions. This feature encourages a modular style of programming, where the actual underlying channels used to...

متن کامل

Modular and Incremental Analysis of Concurrent Software Systems

Modularization and abstraction are the keys to practical verification and analysis of large and complex systems. We present in an incremental methodology for the automatic analysis and verification of concurrent software systems. Our methodology is based on the theory of abstract interpretation. We first propose a compositional data flow analysis algorithm that computes invariants of concurrent...

متن کامل

Experiments with Modular FLAVERS Analysis

Analyzing the potential behavior of concurrent software is a diicult and complex problem. In this paper, we describe an analysis approach that takes advantage of the modular structure of complex software systems to reduce the cost of analysis. This work builds oo of an existing approach, FLAVERS, that uses program ow analysis to verify explicitly stated correctness properties of concurrent soft...

متن کامل

Oracle Semantics for Concurrent Separation Logic

We define (with machine-checked proofs in Coq) a modular operational semantics for Concurrent C minor—a language with shared memory, spawnable threads, and first-class locks. By modular we mean that one can reason about sequential control and data-flow knowing almost nothing about concurrency, and one can reason about concurrency knowing almost nothing about sequential control and data-flow con...

متن کامل

Modular Shape Analysis for View-Serializable Libraries

We present novel modular static shape analysis algorithms for concurrent libraries. Our analyses conservatively verify the absence of certain memory and concurrency errors, verify a certain class of program assertions, and infer shape (heap) module invariants. The key idea is to focus on a class of concurrent programs that follow certain standard locking policies which ensure viewserializabilit...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997